Skip to content

[codex] optimize release action chain#4604

Merged
xuefei1313 merged 2 commits into
developfrom
codex/optimize-release-actions
Jul 8, 2026
Merged

[codex] optimize release action chain#4604
xuefei1313 merged 2 commits into
developfrom
codex/optimize-release-actions

Conversation

@xuefei1313

Copy link
Copy Markdown
Contributor

Summary

  • Stabilize release branch triggers by using broad GitHub glob filters plus explicit semver branch validation.
  • Wire develop sync dispatch into post-release and add workflow_dispatch recovery paths.
  • Add npm publish idempotency checks across all rush shouldPublish packages and a local workflow invariant verifier.

Why

The release chain could fail to trigger because branch filters mixed regex syntax with GitHub glob syntax, and post-release was not consuming the develop-synced repository_dispatch event.

Validation

  • node common/scripts/verify-release-workflows.js
  • node --check common/scripts/verify-release-workflows.js
  • js-yaml parse of all .github/workflows/*.yml
  • git diff --check
  • commit hook: rush lint-staged, rush commitlint
  • pre-push hook: rush test --only tag:package

Notes

  • Live GitHub Actions, npm publish, tag creation, and GitHub Release creation were not executed locally.
  • pre-push tests passed with an existing MaxListenersExceededWarning in @visactor/vchart.

@github-actions github-actions Bot added the chore label Jun 25, 2026
@xuefei1313 xuefei1313 marked this pull request as ready for review June 25, 2026 06:31
Release automation used brittle branch filters and a disconnected post-release dispatch path.

This keeps the VTable-style dispatch chain and makes recovery explicit and guarded.

Constraint: GitHub branch filters use glob syntax, not semver regex
Constraint: No new dependencies; reuse js-yaml
Rejected: workflow_run orchestration | Existing flow uses repository_dispatch
Rejected: single-package npm check | rush publish --include-all can partially publish
Confidence: high
Scope-risk: moderate
Directive: Keep post-release wired to develop-synced or replace the consumer
Tested: node common/scripts/verify-release-workflows.js
Tested: node --check common/scripts/verify-release-workflows.js
Tested: js-yaml parse of all workflow yml files
Tested: git diff --check
Not-tested: Live Actions run, npm publish, tag creation, GitHub Release creation
@xuefei1313 xuefei1313 force-pushed the codex/optimize-release-actions branch from 9b65b16 to 1aec612 Compare July 8, 2026 07:13
@xuefei1313 xuefei1313 merged commit 36d48cc into develop Jul 8, 2026
7 of 9 checks passed
@xuefei1313 xuefei1313 deleted the codex/optimize-release-actions branch July 8, 2026 08:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants